Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
至高のCI/CDパイプラインを実現する5つの約束 #jawsdays / The fiv...
Search
Tori Hara
PRO
February 23, 2019
Technology
28k
26
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
至高のCI/CDパイプラインを実現する5つの約束 #jawsdays / The five principles to spark joy in your pipelines
Presented virtually at JAWS DAYS 2019.
Tori Hara
PRO
February 23, 2019
More Decks by Tori Hara
See All by Tori Hara
カミナシでの技術的負債返済プロジェクトとその決断 / Beyond tech debts at Kaminashi
toricls
PRO
47
26k
アプリケーション開発者は Amazon ECS あるいは Kubernetes をどこまで知るべきか #AWSDevDay / You build it, you run it
toricls
PRO
57
24k
永続複数ブランチ運用は『単一のコードベース』と言えるのか / What are your justifications for the multi-branches?
toricls
PRO
17
6.6k
緩やかに死んでいくシステム / You won't be in the team forever
toricls
PRO
23
15k
技術的負債とステークホルダと説明責任と / The Debt
toricls
PRO
77
37k
Securing your Amazon ECS applications: Best practices
toricls
PRO
0
960
第2回 AWS Fargate かんたんデプロイ選手権 #AWSDevDay / The Easiest Deployment Championship 2020 - Find your winner for AWS Fargate!
toricls
PRO
18
24k
独りよがりのプラットフォーム / For Whom that Platform Runs
toricls
PRO
100
36k
Containers + EC2 Spot: 特性と実装パターンに学ぶ低コスト & 高可用アーキテクチャ / Practical Guide for Amazon EC2 Spot with Containers
toricls
PRO
13
5.4k
Other Decks in Technology
See All in Technology
メルカリにおけるAI時代の高速プロトタイピング基盤「Arca」
ryotarai
13
10k
【ゲームメーカーズスクランブル2026】『Shadowverse: Worlds Beyond』UIとアニメーションで実現する最高のユーザー体験を叶えるプロトタイピング
cygames
PRO
1
540
AIエージェント時代のPlatform as a Product —— テックリードがPdMとして回す発見・導入・計測 / Platform as a Product in the AI Agent Era
toshi0607
0
190
AI Native Platform Engineering 〜PlatformとAgileで“作る速さ”を“価値”へ〜
uya116
0
150
.NET WebAssemblyで実現するクライアントサイドAI推論:NuGetからViteまで、2つのエコシステムを繋ぐビルド戦略
yamachu
1
870
なぜAI任せのゲームは面白くならないのか?
hirohasuyoutube
0
110
DORA_Metrics.pdf
wagnerfusca
1
110
開発投資の期待値を上げるプロダクトロードマップづくり ~プロダクトエンジニアが越境して事業を伸ばす~
kekekenta
1
250
AIに任せた品質は、誰が見立てるのか - AI時代のテストマネジメント
nakanao
3
3.1k
C#コードの結合を可視化する Roslyn解析による設計改善と リファクタリング判断
dora56
0
750
サーバーレスをどこまで使う? WebRTC対戦ゲームで選んだVPSとの共存設計
kaidouji85
0
450
AIで社員の自主発信に広報目線を組み込む
_mossann_t
0
150
Featured
See All Featured
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.4k
How to Talk to Developers About Accessibility
jct
2
560
Un-Boring Meetings
codingconduct
0
430
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
440
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.4k
A Tale of Four Properties
chriscoyier
163
24k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
350
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
540
Building an army of robots
kneath
307
46k
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
3k
Transcript
twitter.com/toricls ⾄⾼のCI/CDパイプラインを実現する5つの約束 Yasuhiro Hara Feb. 23, 2019 #jd2019_d
twitter.com/toricls Yasuhiro Hara / Specialist Solutions Architect, Containers Amazon Web
Services Japan ❤ AWS Fargate & AWS Lambda toricls
twitter.com/toricls ▶ CI/CD パイプラインの必要性 ▶ 具体的な実装テクニック ▶ ツールやサービスの紹介 話さないこと
twitter.com/toricls 最⾼のパイプラインを⼿に⼊れるための マインドセットとは? 本⽇の話題
twitter.com/toricls 1. パイプラインファースト
twitter.com/toricls 1. パイプラインファースト ▶ プロジェクトの初期、まずアプリケーション開発に着⼿しがち ▶ 少⼈数なチームであればあるほどそうなりがち ▶ アプリケーション開発から着⼿するとCI/CD整備が後回しになりがち ▶
プロジェクトで⼀番最初に作るべきはパイプライン ▶ 理想は⼀発⽬のデプロイからパイプラインを通す ▶ パイプライン作る → rails new → デプロイ → アプリケーション開発に着⼿
twitter.com/toricls 1. パイプラインファースト ▶ 最初からパイプラインを持つことはプロジェクトへの投資 ▶ 開発そのものの加速を考えれば圧倒的な低リスク投資 ▶ 最初からちゃんとしたパイプラインである必要はない ▶
ローカルにて⼿で実⾏するコマンドはスクリプトにまとめる ▶ スクリプトを普段の開発だけでなくパイプラインからも利⽤する ▶ 整えるのは後からで良い
twitter.com/toricls 2. ⾃動化されたパイプラインの維持
twitter.com/toricls 2. ⾃動化されたパイプラインの維持 ▶ ビジネス要求の変化とともにアプリケーションやシステムは変化を求められる ▶ 油断するとすぐに⾃動化できないアプリケーションが出来上がる ▶ ⾃動化が難しくなる変更を避ける ▶
ビジネス要求への対応⽅法が本当にそれしかないのか3回くらい考える ▶ 他の実装⽅法がないか10回くらい考える ▶ 「オペレーションの⾃動化が難しいものは開発しない」くらいの気合いが必要
twitter.com/toricls 2. ⾃動化されたパイプラインの維持 ▶ 常にパイプラインをシンプルに保つ ▶ アプリケーション都合の複雑性をパイプラインやインフラに押し込まない ▶ より柔軟性が⾼いアプリケーションで複雑性を吸収する⽅が良いことも ▶
e.g. データベースマイグレーション ▶ アプリケーションを新旧どちらのスキーマでも動く形で実装 ▶ 先にアプリケーションをデプロイし、その後スキーマ変更をデプロイ ▶ データベーススキーマに後⽅互換性のない変更を加えない
twitter.com/toricls 3. 柔軟なパイプラインの維持
twitter.com/toricls 3. 柔軟なパイプラインの維持 ▶ プロジェクトの進みに合わせてパイプラインも変化が必要となる ▶ 継続的な変化を柔軟に受け⼊れられるよう、パイプラインを常にシンプルに保つ ▶ パイプラインへの要求変化に柔軟に対応できる状態を維持する ▶
ビジネス要求の変化 ▶ ポリシーの変更 ▶ デプロイ対象アプリケーションの変化 ▶ システムを構成するコンポーネントの変化、etc.
twitter.com/toricls 3. 柔軟なパイプラインの維持 ▶ パイプラインそのものをコード化し、リポジトリで管理する ▶ Iterative な変更をパイプラインに加えることへの⼼理的障壁を取り除く ▶ Iterative
な改善が必要なのはアプリケーションだけではない
twitter.com/toricls 4. パイプライン UX の継続的改善
twitter.com/toricls 4. パイプライン UX の継続的改善 ▶ パイプラインはチームメンバーに対して提供される「サービス」 ▶ 何が実⾏されたのか、なぜ処理が落ちたのかを他のメンバーが分かるように ▶
パイプライン全体の処理時間の維持・短縮に継続的に取り組む ▶ 何を⾔っているか分からない、時間のかかるパイプラインを使いたい⼈はいない ▶ ただし、時間短縮のための過度な作り込みは避ける ▶ 黒魔術になりがち & パイプラインの安定性を損ねがち ▶ 不安定なパイプラインを使いたい⼈はいない
twitter.com/toricls 5. パイプラインが唯⼀のリリース⼿段
twitter.com/toricls 5. パイプラインが唯⼀のリリース⼿段 ▶ パイプラインを通さないデプロイは禁忌 ▶ うまくビルド・テストが通らない、なんかデプロイこけるは常に起き得る ▶ 「とりあえず今回は急ぎだから⼿作業でやっちゃうか」を断固避ける ▶
「とりあえず⼿作業」は楽。慣れてしまうとこれがパイプライン崩壊の始まりに ▶ パイプラインを通さないデプロイが許される例外の境界 ▶ ビジネスが危機的状況にある場合、という感覚を持つ
twitter.com/toricls まとめ
twitter.com/toricls ⾄⾼のCI/CDパイプラインを実現する5つの約束 ▶ パイプラインファースト ▶ ⾃動化されたパイプラインの維持 ▶ 柔軟なパイプラインの維持 ▶ パイプライン
UX の継続的改善 ▶ パイプラインが唯⼀のリリース⼿段
twitter.com/toricls λ おしまい